package controlador;

//importamos las clases la vista que necesitemos
import modelo.Conversion;
import modelo.ConversionDAO;

//librerias
import java.awt.Desktop;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import javax.swing.JOptionPane;
import com.itextpdf.text.Document;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;


public class ControladorListadoConversion   {
	
	//atributos
	ConversionDAO conversionDAO = new ConversionDAO();
		//objeto
	
		//atributos
	SimpleDateFormat formatoDeHora = new SimpleDateFormat("_yyyy_MM_dd HH_mm_ss");
	
	public ControladorListadoConversion()
	{
		//generamos la ventana de VReporteClasificacion
		super();
		Listado();
		
	}
	
	public void Listado() {
		
		//variable que retorna el directorio donde se ejecuta la app
		String appPath = System.getProperties().getProperty("user.dir"); 
		String nombreArchivo = appPath + "_Listado_de_Conversiones_" + formatoDeHora.format( new Date()) + ".pdf";
	        try {
			        	
			           
			          
			            // abro el documento eh imprimo el encabezado
			            OutputStream file = new FileOutputStream(new File(nombreArchivo));
			            Document document = new Document();
			            PdfWriter.getInstance(document, file);
    		            document.open();
			            document.add(new Paragraph("                                             LISTADO DE CONVERSIONES "));
			            document.add(new Paragraph("\n \n"));
			            document.add(new Paragraph("================================================================="));
			            ArrayList<Conversion> conversiones = conversionDAO.consultarConversiones();
			            for(int i = 0; i <conversiones.size(); i++){			            		
			            	
			                    document.add(new Paragraph("Codigo de Conversion: " + conversiones.get(i).getCodigoConversion()));
			                    document.add(new Paragraph("Tipo de Corte: " + conversionDAO.buscarNombreCorte(conversiones.get(i).getCodigoTipoCorte())));
			                    document.add(new Paragraph("Factor de Conversion: " + conversiones.get(i).getFactor() + " ("+conversiones.get(i).getFactor()*100 +"%)" ));

					            document.add(new Paragraph("================================================================="));
		            }	
			            //Cierro El Documento
			            document.close();
			            file.close();  
			            
			   } catch (Exception e) {

			            e.printStackTrace();
			        
			   }
	        
			       
	        	//Metodo Que Abre El Pdf Generado
			    try {
			            File path = new File (nombreArchivo);
			            Desktop.getDesktop().open(path);
			    }catch (IOException ex) {
			            ex.printStackTrace();
			    }
			       
      
	} //fin del metodo
			
}//fin de la clase





